﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Bussines;
using System.Data.SqlClient;

namespace ownx
{
    public partial class wfHitelek : System.Web.UI.Page
    {
        clHITELEK _clHITELEK;
        clTIPUS_LIST _clTipusok;
        clINTEZMENYEK_LIST _clIntezmenyek;
        DataSet dsHitelek;
        
        int _PRT_ID = -1;

        #region Page load, datainit
        protected void Page_Load(object sender, EventArgs e)
        {
            TBLObj blObj = null;
            if (Session["BL"] != null)
            {
                blObj = (TBLObj)Session["BL"];
            }
            //TBLObj blObj = new TBLObj("Test", Session["CONSTR"].ToString(), (clFIELDINFO_LIST)Session["FIELDINFO"]);
            _PRT_ID = Convert.ToInt32(Session["PRT_ID"].ToString());
            _clHITELEK = new clHITELEK(blObj,_PRT_ID);
            _clTipusok = new clTIPUS_LIST(blObj,"HTL");
            _clIntezmenyek = new clINTEZMENYEK_LIST(blObj,1);

            dsHitelek = _clHITELEK.GetHitelek();

            //ha ez az első meghívás
            if (!(Page.IsPostBack))
            {
                DataInit();
            }
        }

        private void DataInit()
        {
            //feltöltöm a detasetet, majd a gridet
            dsHitelek = _clHITELEK.GetHitelek();

            foreach(clTIPUS akt in _clTipusok.lTIPUS )
            {
                ListItem li = new ListItem(akt.fTPS_MEGNEVEZES , akt.fTPS_TIPUSKOD.ToString() );
                ddlHTL_TIPUS.Items.Add(li);
            }

            foreach (clINTEZMENYEK akti in _clIntezmenyek.lINTEZMENYEK)
            {
                ListItem lii = new ListItem(akti.fINT_MEGNEVEZES, akti.fINT_ID.ToString());
                ddlHTL_BNK_ID.Items.Add(lii);
            }

            ListItem li1 = new ListItem("Igen" , "I" );
            ddlHTL_BIZTOSITAS.Items.Add(li1);

            ListItem li2 = new ListItem("Nem", "N");
            ddlHTL_BIZTOSITAS.Items.Add(li2);

            gvHitelek.DataSource = dsHitelek;
            gvHitelek.DataBind();


            if (dsHitelek.Tables["HITELEK"].Rows.Count > 0)
            {
                //kijelölöm az elsőt, és kitöltöm az editeket
                gvHitelek.SelectedIndex = 0;
                gvHitelek_SelectedIndexChanged(gvHitelek, null);
            }
        }
        #endregion

        protected void gvHitelek_SelectedIndexChanged(object sender, EventArgs e)
        {
            //lépegetés a gridben             
            
            tbHTL_ID.Text = dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_ID"].ToString();
            tbHTL_PRT_ID.Text = dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_PRT_ID"].ToString();
            calHTL_FELV_DATUM.SelectedDate = (DateTime)dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_FELV_DATUM"];
            tbHTL_DEVIZANEM.Text = dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_DEVIZANEM"].ToString();
            tbHTL_ARFOLYAM.Text = Convert.ToDouble(dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_ARFOLYAM"]).ToString("F2") ;
            tbHTL_OSSZEG.Text = Convert.ToDouble(dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_OSSZEG"]).ToString("F2");
            //    dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_OSSZEG"].ToString();
            tbHTL_KAMAT.Text = Convert.ToDouble(dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_KAMAT"]).ToString("F2");
               // dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_KAMAT"].ToString();
            tbHTL_KKOLTSEG.Text = Convert.ToDouble(dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_KKOLTSEG"]).ToString("F2");
                //dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_KKOLTSEG"].ToString();
            tbHTL_LKOLTSEG.Text = Convert.ToDouble(dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_LKOLTSEG"]).ToString("F2");
                //dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_LKOLTSEG"].ToString();
            tbHTL_RESZLET.Text = Convert.ToDouble(dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_RESZLET"]).ToString("F2"); 
                //dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_RESZLET"].ToString();
            tbHTL_TURELMI.Text = dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_TURELMI"].ToString();
            tbHTL_HATRAL.Text = dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_HATRAL"].ToString();
            tbHTL_MEGJEGYZES.Text = dsHitelek.Tables["HITELEK"].Rows[gvHitelek.SelectedIndex]["HTL_MEGJEGYZES"].ToString();

            ddlHTL_TIPUS.SelectedValue = "1";

            lMessage.Text = "";
        }
        protected void bSave_Click(object sender, EventArgs e)
        {
            bool b = bSave_Click2(sender, e);
        }
        protected bool bSave_Click2(object sender, EventArgs e)
        {
            bool KellMent = true;
            int iHTL_ID;
            int iHTL_TIPUS;
            int iHTL_PRT_ID;
            int iHTL_BNK_ID;
            DateTime iHTL_FELV_DATUM;

            string iHTL_DEVIZANEM;
            double iHTL_ARFOLYAM = -1;
            double iHTL_OSSZEG = -1;
            double iHTL_KAMAT = -1;
            double iHTL_KKOLTSEG = -1;

            double iHTL_RESZLET = -1;
            double iHTL_LKOLTSEG = -1;
            int iHTL_TURELMI = -1;
            int iHTL_HATRAL = -1;
            string iHTL_BIZTOSITAS;

            string iHTL_MEGJEGYZES;
            DateTime iHTL_CREATED;
            int iHTL_CREATED_BY;
            DateTime iHTL_MODIFIED;
            int iHTL_MODIFIED_BY;
            string oErr = "";
            try
            {
                iHTL_ID = Convert.ToInt32(tbHTL_ID.Text);
            } catch (Exception xx)
            {
                return true;
            }

            iHTL_TIPUS = Convert.ToInt32(ddlHTL_TIPUS.SelectedValue);
            iHTL_PRT_ID = Convert.ToInt32(tbHTL_PRT_ID.Text);
            iHTL_BNK_ID = Convert.ToInt32(ddlHTL_BNK_ID.SelectedValue);
            iHTL_FELV_DATUM = calHTL_FELV_DATUM.SelectedDate ;

            iHTL_DEVIZANEM = tbHTL_DEVIZANEM.Text ;
            try
            {
                iHTL_ARFOLYAM = Convert.ToDouble(tbHTL_ARFOLYAM.Text);
            }
            catch
            {
                lMessage.Text = "Árfolyam nem megfelő formátumú!";
                tbHTL_ARFOLYAM.Focus();
                KellMent = false;
            }
            try
            {
                iHTL_OSSZEG = Convert.ToDouble(tbHTL_OSSZEG.Text);
            }
            catch
            {
                lMessage.Text = "Összeg nem megfelő formátumú!";
                tbHTL_OSSZEG.Focus();
                KellMent = false;
            }
            try
            {
                iHTL_KAMAT = Convert.ToDouble(tbHTL_KAMAT.Text);
            }
            catch
            {
                lMessage.Text = "Kamat nem megfelő formátumú!";
                tbHTL_KAMAT.Focus();
                KellMent = false;
            }
            try
            {
                iHTL_KKOLTSEG = Convert.ToDouble(tbHTL_KKOLTSEG.Text);
            }
            catch
            {
                lMessage.Text = "Kezelési költség nem megfelő formátumú!";
                tbHTL_KKOLTSEG.Focus();
                KellMent = false;
            }
            try
            {
                iHTL_RESZLET = Convert.ToDouble(tbHTL_RESZLET.Text);
            }
            catch
            {
                lMessage.Text = "Részlet költség nem megfelő formátumú!";
                tbHTL_RESZLET.Focus();
                KellMent = false;
            }
            try
            {
                iHTL_LKOLTSEG = Convert.ToDouble(tbHTL_LKOLTSEG.Text);
            }
            catch
            {
                lMessage.Text = "Lezárás költség nem megfelő formátumú!";
                tbHTL_LKOLTSEG.Focus();
                KellMent = false;
            }
            try
            {
                iHTL_TURELMI = Convert.ToInt32(tbHTL_TURELMI.Text);
            }
            catch
            {
                lMessage.Text = "Türelmi idő nem megfelő formátumú!";
                tbHTL_TURELMI.Focus();
                KellMent = false;
            }
            try
            {
                iHTL_HATRAL = Convert.ToInt32(tbHTL_HATRAL.Text);
            }
            catch
            {
                lMessage.Text = "Hátralévő idő nem megfelő formátumú!";
                tbHTL_HATRAL.Focus();
                KellMent = false;
            }
            iHTL_BIZTOSITAS = ddlHTL_BIZTOSITAS.SelectedValue ;

            iHTL_MEGJEGYZES = tbHTL_MEGJEGYZES.Text;
            iHTL_CREATED = DateTime.Now;
            iHTL_CREATED_BY = (int)Session["USR_ID"];
            iHTL_MODIFIED = DateTime.Now;
            iHTL_MODIFIED_BY = (int)Session["USR_ID"];

            if (KellMent)
            {
                if (!(_clHITELEK.SaveHitelek(iHTL_ID, iHTL_TIPUS, iHTL_PRT_ID, iHTL_BNK_ID, iHTL_FELV_DATUM, iHTL_DEVIZANEM, iHTL_ARFOLYAM, iHTL_OSSZEG,
                                         iHTL_KAMAT, iHTL_KKOLTSEG, iHTL_RESZLET, iHTL_LKOLTSEG, iHTL_TURELMI, iHTL_HATRAL, iHTL_BIZTOSITAS,
                                         iHTL_MEGJEGYZES, iHTL_CREATED, iHTL_CREATED_BY, iHTL_MODIFIED, iHTL_MODIFIED_BY, ref  oErr)))
                {
                    lMessage.Text = oErr;
                    return false;
                }
                else
                {
                    int si = gvHitelek.SelectedIndex;

                    DataInit();

                    gvHitelek.SelectedIndex = si;

                    gvHitelek_SelectedIndexChanged(sender, e);
                    lMessage.Text = "";
                    return true;
                }
            }
            return KellMent;
        
        }

        protected void bVissza_Click(object sender, EventArgs e)
        {
            if (bSave_Click2(sender, e))
            Response.Redirect("wfPartnerChoice.aspx");
        }

        protected void bAlapadatok_Click(object sender, EventArgs e)
        {
            if (bSave_Click2(sender, e))
            Response.Redirect("wfPartner.aspx");
        }

        protected void bHitelek_Click(object sender, EventArgs e)
        {
            if (bSave_Click2(sender, e))
            Response.Redirect("wfHitelek.aspx");
        }

        protected void bMegj_Click(object sender, EventArgs e)
        {
            if (bSave_Click2(sender, e))
            Response.Redirect("wfMegjegyzes.aspx");
        }

        protected void bNyugdijak_Click(object sender, EventArgs e)
        {
            if (bSave_Click2(sender, e))
            Response.Redirect("wfNyugdij.aspx");
        }

        protected void bBefektetesek_Click(object sender, EventArgs e)
        {
            if (bSave_Click2(sender, e))
            Response.Redirect("wfBefektetesek.aspx");
        }

        protected void bEletBizt_Click(object sender, EventArgs e)
        {
            if (bSave_Click2(sender, e))
            Response.Redirect("wfBiztElet.aspx");
        }

        protected void bVagyonBizt_Click(object sender, EventArgs e)
        {
            if (bSave_Click2(sender, e))
            Response.Redirect("wfBiztVagyon.aspx");
        }

        protected void bUj_Click(object sender, EventArgs e)
        {
            dsHitelek.Tables["HITELEK"].Rows.Add();

            gvHitelek.DataSource = dsHitelek;
            gvHitelek.DataBind();

            gvHitelek.SelectedIndex = dsHitelek.Tables["HITELEK"].Rows.Count - 1;

            tbHTL_ID.Text = "-1";
            tbHTL_PRT_ID.Text = _PRT_ID.ToString();
            ddlHTL_BIZTOSITAS.SelectedIndex = 0;
            ddlHTL_BNK_ID.SelectedIndex = 0;
            ddlHTL_TIPUS.SelectedIndex = 0;
            tbHTL_DEVIZANEM.Text = "";
            tbHTL_ARFOLYAM.Text = "";
            tbHTL_OSSZEG.Text = "";
            tbHTL_RESZLET.Text = "";
            tbHTL_KAMAT.Text = "";
            tbHTL_KKOLTSEG.Text = "";
            tbHTL_LKOLTSEG.Text = "";
            tbHTL_HATRAL.Text = "";
            tbHTL_TURELMI.Text = "";
            tbHTL_MEGJEGYZES.Text = "";
        }

        protected void gvHitelek_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                e.Row.ID = e.Row.Cells[0].Text;
                e.Row.Attributes["onclick"] = ClientScript.GetPostBackClientHyperlink(this.gvHitelek, "Select$" + e.Row.RowIndex);
                //e.Row.Attributes.Add("onclick", "GridView_selectRow(this,'" + e.Row.Cells[0].Text + "')");
                e.Row.Attributes.Add("onmouseover", "GridView_mouseHover(this)");
            }
        }

        protected void bVisszaFooldalra_Click(object sender, EventArgs e)
        {
            Response.Redirect("wfDefault.aspx");
        }
    }
}
